PictureEffects Xojo Plugin

ImageChannelMixer Class

A class to obtain image channels and mix them back together into a image. The class can either work on channels stored as a Picture or channels stored as ImageChannel which is much faster than if stored in a picture.

MPImageFilter
   ImageChannelMixer

class ImageChannelMixer

Properties

AlphaChannelThis property will contain the alpha channel as ImageChannel if it was requested in the ExtractChannels function that this property would be populated.
AlphaChannePictureThis property will contain the alpha channel as Picture if it was requested in the ExtractChannels function that this property would be populated.
BlueChannelThis property will contain the blue channel as ImageChannel if it was requested in the ExtractChannels function that this property would be populated.
BlueChannelPictureThis property will contain the blue channel as Picture if it was requested in the ExtractChannels function that this property would be populated.
GreenChannelThis property will contain the green channel as ImageChannel if it was requested in the ExtractChannels function that this property would be populated.
GreenChannelPictureThis property will contain the green channel as Picture if it was requested in the ExtractChannels function that this property would be populated.
RedChannelThis property will contain the red channel as ImageChannel if it was requested in the ExtractChannels function that this property would be populated.
RedChannelPictureThis property will contain the red channel as Picture if it was requested in the ExtractChannels function that this property would be populated.
CPUCoreCount (Inherited) (console safe) Returns number of detected CPU cores on the running machine.
ErrorCode (Inherited) (console safe) Returns error code after applying the effect. This value is a Constant defined in the PictureEffectsError module.
MultiprocessingHint (Inherited) (console safe) Use this property to fine tune CPU usage for this algorithm. By default this property is set to zero (Automatic). This property accepts all constants that are defined in this class.
ProgressHandler (Inherited) (console safe) Use this property to use a progress class to get progress feedback from this function. This class must be a class that Implements the IProgressHandler Interface which is defined in this plugin.

Methods

CombineChannelsCombines red,green,blue and alpha channels from ImageChannel instances into one image.
CombineChannelsCombines red,green,blue and alpha channels from Picture instances into one image.
CombineChannelsCombines red,green and blue channels from Picture instances into one image.
CombineChannelsCombines red,green and blue channels from ImageChannel instances into one image.
ExtractChannelsExtracts image channels from a image.

Constants

CHANNEL_RED = &h1
CHANNEL_GREEN = &h2
CHANNEL_BLUE = &h4
CHANNEL_ALPHA = &h8
CHANNEL_COLORS = &h7
CHANNEL_ALL = &hF
PICTURE_RED = &h10
PICTURE_GREEN = &h20
PICTURE_BLUE = &h40
PICTURE_ALPHA = &h80
PICTURE_COLORS = &70
PICTURE_ALL = &hF0
CPU_USE_MACHINE_CORE_COUNT = -1 (Inherited) Uses exactly the number of available CPU cores in the machine. (Available here means on-line CPU cores, some laptops can put CPU cores off line in low battery situations)
CPU_USE_AUTOMATIC = 0 (Inherited) Takes into account number of available CPU cores on the Machine and also tries to select the fastest way based on developer rating for each algorithm and picture size. (In simple algorithms then the fastest path is sometimes 2 or 3 CPU cores and not 4 CPU cores because of the overhead of managing multiple cores). In more complex algorithms then 3 or 4 cores are almost always faster than 2 cores.
CPU_USE_1_CORE = 1 (Inherited) Uses one CPU core.
CPU_USE_2_CORES = 2 (Inherited) Uses two CPU cores. This setting will also work on machines with less than two CPU cores, but it will be slower or best case same speed as using the correct setting for such machine.
CPU_USE_3_CORES = 3 (Inherited) Uses three CPU cores. This setting will also work on machines with less than three CPU cores, but it will be slower or best case same speed as using the correct setting for such machine.
CPU_USE_4_CORES = 4 (Inherited) Uses four CPU cores. This setting will also work on machines with less than four CPU cores, but it will be slower or best case same speed as using the correct setting for such machine.
CPU_USE_5_CORES = 5 (Inherited) Uses five CPU cores. This setting will also work on machines with less than four CPU cores, but it will be slower or best case same speed as using the correct setting for such machine.
CPU_USE_6_CORES = 6 (Inherited) Uses six CPU cores. This setting will also work on machines with less than four CPU cores, but it will be slower or best case same speed as using the correct setting for such machine.
CPU_USE_7_CORES = 7 (Inherited) Uses seven CPU cores. This setting will also work on machines with less than four CPU cores, but it will be slower or best case same speed as using the correct setting for such machine.
CPU_USE_8_CORES = 8 (Inherited) Uses eight CPU cores. This setting will also work on machines with less than four CPU cores, but it will be slower or best case same speed as using the correct setting for such machine.

Supported Platforms:

  • MacOS X Carbon
  • MacOS X Cocoa 32 bit
  • MacOS X Cocoa 64 bit
  • Windows 32 bit
  • Windows 64 bit
  • Linux 32 bit
  • Linux 64 bit
  • Linux ARM